let str1 = 'hello' // string类型
const str2 = 'hello' // hello类型
const str3: 'hello' = 'hello' // hello类型

let age: 18 = 18 // number类型

/**
 * str1是一个变量(let),它的值是任意字符串,所以类型为:string
 * str2是一个常量(const),它的值不能变化,只能是 hello, 所以它的类型为 hello
 * 
 * 此处str2的 hello 就是一个字面量类型,也就是说某个特定的字符串可作为TS中的类型
 * 除了字符串外,任意的js字面量(比如,对象,数字等)都可以作为类型使用
 * 
 * 使用模式: 字面量类型配合联合类型一起使用
 * 使用场景: 用来表示一组明确的可选值列表
 */

function changeDirection(direction: 'up' | 'down' | 'left' | 'right') {
    console.log(direction)
}

changeDirection('up')


